#ifndef _FIG_BOSS_ATTACKMOVE_CIRCLE_H_
#define _FIG_BOSS_ATTACKMOVE_CIRCLE_H_

#include "fig_boss_attackmove.h"

#include "math/counter.h"

class FIGBossAttackMoveManager;

// transform back ... go down .. appear from top and transform again

class FIGBossAttackMoveCircle : public FIGBossAttackMove
{
public:

	enum ATTACK_CIRCLE_STATE
	{
		STATE_GOTO_CENTER,
		STATE_CIRCLE,
		
		STATE_C,

	};

	FIGBossAttackMoveCircle(FIGBossAttackMoveManager* pManager);
	

	
	virtual void				Tick(float dt);
	virtual bool				ShouldDisableOtherMovement(){ return true; };
	virtual	bool				ShouldDisableAttack() {return false; };
	virtual void				Start(float Delay);
	
protected:

	
	float						m_Acceleration;
	math::Counter				m_CircleCounter;

	ATTACK_CIRCLE_STATE			m_State;
	int							m_CirclingCount;
	
};

#endif			 // _FIG_BOSS_ATTACKMOVE_CIRCLE_H_